class Solution {
public:
    void myswap(vector<int>& nums,int first,int second){
        int temp=nums[first];
        nums[first]=nums[second];
        nums[second]=temp;
    }
    void sortColors(vector<int>& nums) {
        int num1=-1;
        int num2=-1;
        for(int i=0;i<nums.size();i++){
            if(nums[i] < 2){//整个过程可以省去2的元素
                num2++;//为1，0，是记录其存在的位置，及1后面的位置
                myswap(nums,i,num2);
                if(nums[num2] < 1){
                    num1++;//0后面的位置
                    myswap(nums,num1,num2);
                }
            }
        }
    }
};